package cn.edu.scau.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.multipart.MultipartFile;

public interface BaseService<T> {
	
	/**
	 * 增加
	 * @param entity 增加的持久化实例 
	 */
	void add(T entity);
	
	/**
	 * 删除
	 * @param id 需要删除的持久化实例的id
	 * @return
	 */
	boolean delete(Integer id);
	
	/**
	 * 更新
	 * @param entity 需要更新的持久化实例
	 * @param id 需要更新的持久化实例的id
	 * @return
	 */
	boolean update(T entity,Integer id);
	/**
	 * 展示
	 * @param type 类型
	 * @param columnId 栏目id
	 * @param id 持久化实例的id
	 * @param pageNo 一页的最大条数
	 * @param frontOrBackground 判断前台展示还是后台展示
	 * @return 集合
	 */
	 List showTheEntity(String type,Integer columnId,Integer id,Integer pageNo,boolean frontOrBackground);
	/**
	 * 根据栏目id返回页数的总量
	 * @param coulumnId 栏目的id
	 * @param pageSize 一页展示的最大条数
	 * @return 页数
	 */
	long countTheEntityNum(Integer columnId,Integer pageSize,boolean frontOrBackground);
	
	/**
	 * 图片保存
	 * @param files 文件s
	 * @param request
 	 * @param releaseDate 发布时间
	 * @return
	 */
	List<String> saveImage(MultipartFile[] files, HttpServletRequest request, String releaseDate);
}
